package com.zheng.hr.dao.model;

import com.baomidou.mybatisplus.enums.IdType;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableName;
import com.zheng.common.base.BaseEntity;
import com.zheng.common.base.PageEntity;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * <p>
 * </p>
 *
 * @author likun
 * @since 2018-04-28
 */
@TableName("hr_checkin")
public class HrCheckin extends PageEntity {
    public static final Integer UNVERIFIED_STATE = 0;
    public static final Integer VERIFIED_STATE = 1;
    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    /**
     * 用户username
     */
    @TableField("user_name")
    private String userName;
    /**
     * 所属考勤组别
     */
    @TableField("group_name")
    private String groupName;
    /**
     * 打卡类型。字符串，目前有：上班打卡，下班打卡，外出打卡
     */
    @TableField("checkin_type")
    private String checkinType;
    /**
     * 异常类型，字符串，包括：时间异常，地点异常，未打卡，wifi异常，非常用设备。如果有多个异常，以分号间隔
     */
    @TableField("exception_type")
    private String exceptionType;
    /**
     * 打卡时间
     */
    @TableField("checkin_time")
    private Long checkinTime;

    @TableField("checkin_date")
    private Date checkinDate;
    /**
     * 打卡地点title
     */
    @TableField("location_title")
    private String locationTitle;
    /**
     * 打卡地点详情
     */
    @TableField("location_detail")
    private String locationDetail;
    @TableField("wifi_name")
    private String wifiName;
    /**
     * 打卡备注
     */
    private String notes;
    private String wifimac;
    private String mediaids;
    /**
     * 校验状态 0 未校验 1已校验
     */
    private Integer state;


    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getGroupName() {
        return groupName;
    }

    public void setGroupName(String groupName) {
        this.groupName = groupName;
    }

    public String getCheckinType() {
        return checkinType;
    }

    public void setCheckinType(String checkinType) {
        this.checkinType = checkinType;
    }

    public String getExceptionType() {
        return exceptionType;
    }

    public void setExceptionType(String exceptionType) {
        this.exceptionType = exceptionType;
    }

    public Long getCheckinTime() {
        return checkinTime;
    }

    public void setCheckinTime(Long checkinTime) {
        this.checkinTime = checkinTime;
    }

    public String getLocationTitle() {
        return locationTitle;
    }

    public void setLocationTitle(String locationTitle) {
        this.locationTitle = locationTitle;
    }

    public String getLocationDetail() {
        return locationDetail;
    }

    public void setLocationDetail(String locationDetail) {
        this.locationDetail = locationDetail;
    }

    public String getWifiName() {
        return wifiName;
    }

    public void setWifiName(String wifiName) {
        this.wifiName = wifiName;
    }

    public String getNotes() {
        return notes;
    }

    public void setNotes(String notes) {
        this.notes = notes;
    }

    public String getWifimac() {
        return wifimac;
    }

    public void setWifimac(String wifimac) {
        this.wifimac = wifimac;
    }

    public String getMediaids() {
        return mediaids;
    }

    public void setMediaids(String mediaids) {
        this.mediaids = mediaids;
    }

    public Integer getState() {
        return state;
    }

    public void setState(Integer state) {
        this.state = state;
    }

    public Date getCheckinDate() {
        return checkinDate;
    }

    public void setCheckinDate(Date checkinDate) {
        this.checkinDate = checkinDate;
    }
    @Override
    protected Serializable pkVal() {
        return id;
    }
    @Override
    public String toString() {
        return "HrCheckin{" +
                "id=" + id +
                ", userName=" + userName +
                ", groupName=" + groupName +
                ", checkinType=" + checkinType +
                ", exceptionType=" + exceptionType +
                ", checkinTime=" + checkinTime +
                ", locationTitle=" + locationTitle +
                ", locationDetail=" + locationDetail +
                ", wifiName=" + wifiName +
                ", notes=" + notes +
                ", wifimac=" + wifimac +
                ", mediaids=" + mediaids +
                ", state=" + state +
                "}";
    }
}
